﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Common;
using Reviewer.Utilities.Data.MySql;
using MySql.Data.MySqlClient;

namespace Reviewer.Security.Data
{
    internal static class MembershipTable
    {
        public const string TABLE_NAME = "Members";
        public static readonly MySqlColumnInfo Id = new MySqlColumnInfo(0, "Id", MySqlDbType.VarChar, 36);
        public static readonly MySqlColumnInfo Username = new MySqlColumnInfo(1, "Username", MySqlDbType.VarChar, 255);
        public static readonly MySqlColumnInfo ApplicationName = new MySqlColumnInfo(2, "ApplicationName", MySqlDbType.VarChar, 255);
        public static readonly MySqlColumnInfo Email = new MySqlColumnInfo(3, "Email", MySqlDbType.VarChar, 255);
        public static readonly MySqlColumnInfo Comment = new MySqlColumnInfo(4, "Comment", MySqlDbType.VarChar, 255);
        public static readonly MySqlColumnInfo Password = new MySqlColumnInfo(5, "Password", MySqlDbType.VarChar, 255);
        public static readonly MySqlColumnInfo PasswordQuestion = new MySqlColumnInfo(6, "PasswordQuestion", MySqlDbType.VarChar, 255);
        public static readonly MySqlColumnInfo PasswordAnswer = new MySqlColumnInfo(7, "PasswordAnswer", MySqlDbType.VarChar, 255);
        public static readonly MySqlColumnInfo IsApproved = new MySqlColumnInfo(8, "IsApproved", MySqlDbType.Bit);
        public static readonly MySqlColumnInfo LastActivityDate = new MySqlColumnInfo(9, "LastActivityDate", MySqlDbType.DateTime);
        public static readonly MySqlColumnInfo LastLoginDate = new MySqlColumnInfo(10, "LastLoginDate", MySqlDbType.DateTime);
        public static readonly MySqlColumnInfo LastPasswordChangedDate = new MySqlColumnInfo(11, "LastPasswordChangedDate", MySqlDbType.DateTime);
        public static readonly MySqlColumnInfo CreationDate = new MySqlColumnInfo(12, "CreationDate", MySqlDbType.DateTime);
        public static readonly MySqlColumnInfo IsOnline = new MySqlColumnInfo(13, "IsOnline", MySqlDbType.Bit);
        public static readonly MySqlColumnInfo IsLockedOut = new MySqlColumnInfo(14, "IsLockedOut", MySqlDbType.Bit);
        public static readonly MySqlColumnInfo LastLockedOutDate = new MySqlColumnInfo(15, "LastLockedOutDate", MySqlDbType.DateTime);
        public static readonly MySqlColumnInfo FailedPasswordAttemptCount = new MySqlColumnInfo(16, "FailedPasswordAttemptCount", MySqlDbType.Int32);
        public static readonly MySqlColumnInfo FailedPasswordAttemptWindowStart = new MySqlColumnInfo(17, "FailedPasswordAttemptWindowStart", MySqlDbType.DateTime);
        public static readonly MySqlColumnInfo FailedPasswordAnswerAttemptCount = new MySqlColumnInfo(18, "FailedPasswordAnswerAttemptCount", MySqlDbType.Int32);
        public static readonly MySqlColumnInfo FailedPasswordAnswerAttemptWindowStart = new MySqlColumnInfo(19, "FailedPasswordAnswerAttemptWindowStart", MySqlDbType.DateTime);
        public static readonly MySqlColumnInfo Format = new MySqlColumnInfo(20, "Format", MySqlDbType.Int32);
        public static readonly MySqlColumnInfo AnswerFormat = new MySqlColumnInfo(21, "AnswerFormat", MySqlDbType.Int32);
    }
}
